STM32G474 定时器通过抖动技术实现高分辨率PWM输出方法(提高16倍)

您所在的位置:网站首页 stm32 pwm波形移相 STM32G474 定时器通过抖动技术实现高分辨率PWM输出方法(提高16倍)

STM32G474 定时器通过抖动技术实现高分辨率PWM输出方法(提高16倍)

2023-08-22 22:37| 来源: 网络整理| 查看: 265

文章目录 一.数字脉宽调制(DPWM)介绍二.基于NUCLEO-G474RE开发板新建工程2.1 打开 STM32CubeMX 软件,新建工程.2.2 选择开发板(芯片)2.3 配置TIM12.4配置一下时钟树.2.5生成代码. 三.编写代码四.输出结果五.总结

一.数字脉宽调制(DPWM)介绍

如今,电力开关电子学表现出显著的性能提高。电力开关电子器件的开关频率不断提高,以满足现代电力转换系统的要求。在控制技术方面,这变得越来越具有挑战性。对于数控脉宽调制发生器,在开关频率和占空比微调之间有一个权衡。同时实现高分辨率和高开关频率意味着控制电路工作在高频率。

二.基于NUCLEO-G474RE开发板新建工程 2.1 打开 STM32CubeMX 软件,新建工程.

我这里选择的是我的开发板 我手里有开发板所以选择基于开发板。

2.2 选择开发板(芯片)

我这里选择的是我的开发板NUCLEO-G474RE,少去一些步骤。 在这里插入图片描述

2.3 配置TIM1

配置TIM1产生100kHz的互补PWM. F= Tclk/[(psc+1) * (cnt+1)] = 170MHz/[1*1700] = 100kHz。 普通情况下一个周期记1700个数 在抖动模式下,这里将记1700x16=27200; 在这里插入图片描述

2.4配置一下时钟树.

在这里插入图片描述

2.5生成代码.

在这里插入图片描述 大功告成

三.编写代码 /* USER CODE BEGIN 2 */ //启动定时TIM1 HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1); HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1); /* USER CODE END 2 */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);//LED HAL_Delay(500); TIM1->CCR1=13600;//占空比50% } /* USER CODE END 3 */

调试一下,看看对不 在这里插入图片描述

四.输出结果

在这里插入图片描述 经过测量达到预期结果 输出100kHz互补PWM,占空比50%。

五.总结

有不对的地方请大家包涵,还望大家提醒,第一次写,有什么建议或问题欢迎评论下留言。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3